package com.xjc.business.service;

import com.xjc.business.entity.domain.Clazzs;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjc.business.entity.po.coladmin.AssociateClassAdminPo;
import com.xjc.business.entity.po.coladmin.ClassPo;
import com.xjc.business.entity.vo.coladmin.ClassVo;
import com.xjc.business.entity.vo.PageVo;
import com.xjc.business.entity.vo.coladmin.MajorVo;
import com.xjc.system.result.Result;

import java.util.List;

/**
* @author root
* @description 针对表【clazzs(班级表)】的数据库操作Service
* @createDate 2025-01-25 10:24:31
*/
public interface ClazzsService extends IService<Clazzs> {

    public List<ClassVo> getClassList(Integer collegeId);

    /**
     * 分页查询班级列表
     * @param pageSize 每页显示条数
     * @param currentPage 当前页码
     * @param collegeId 学院id
     * @param majorId 专业id
     * @param classAdminId 辅导员id
     * @return 数据
     */
    Result<PageVo<ClassVo>> getClassPage(Integer pageSize, Integer currentPage, Integer collegeId, Integer majorId, Integer classAdminId);

    /**
     * 添加班级
     * @param classPo 班级信息
     * @return 反馈
     */
    Result<String> addClass(ClassPo classPo);

    /**
     * 分配管理员
     * @param associateClassAdminPo 管理员信息
     * @return 反馈
     */
    Result<String> associateClassAdmin(AssociateClassAdminPo associateClassAdminPo);

    /**
     * 分页查询班级信息
     * @param classAdminId 辅导员id
     * @param majorId 专业id
     * @return 数据
     */
    Result<List<com.xjc.business.entity.vo.classadmin.ClassVo>> getClassPage2(Integer classAdminId, Integer majorId);

    /**
     * 获取专业列表
     * @param classAdminId 辅导员id
     * @return 数据
     */
    Result<List<MajorVo>> getMajorList(Integer classAdminId);
}
